INIUPDate - A Network INI File Update Utility (c) Copyright Abrams Technologies, 1993-1994. 536 North Donar Drive Columbia, SC 29223 Phone: (803) 865-0405 CIS: 73632,746 Table of Contents Files Listing. . . . . . . . . . . . . . . . . . . . . . . . . 3 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 Terminology. . . . . . . . . . . . . . . . . . . . . . . . . . 3 Command Line Switches. . . . . . . . . . . . . . . . . . . . . 4 /I-. . . . . . . . . . . . . . . . . . . . . . . 4 /M- . . . . . . . . . . . . . . . . . . . . . 5 /K-. . . . . . . . . . . . . . . . . . . . . . . 6 /R-. . . . . . . . . . . . . . . . . . . . . . . 6 /D- . . . . . . . . . . . . . . . . . . . . . . . . 7 Example Command Lines. . . . . . . . . . . . . . . . . . . . . 7 Usage 1: New Application Setup. . . . . . . . . . . . . . . . 8 Usage 2: Preventing Users From Changing INI File Values . . . 11 Usage 3: Providing User Support . . . . . . . . . . . . . . . 12 History. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Coming Attractions . . . . . . . . . . . . . . . . . . . . . . 14 Copyright. . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Warranty . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Shareware. . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Distribution . . . . . . . . . . . . . . . . . . . . . . . . . 16 INIUPDate Registration Form. . . . . . . . . . . . . . . . . . 17 INIUPDate - A Network INI File Update Utility, Page 3 Files Listing ------------- INIUPD.DOC Documentation and registration form. INIUPD.EXE INIUPDate program file. SYSTEM-D.MAS Example Duplicate Key file for SYSTEM.INI. SYSTEM-S.MAS Example Singular Key file for SYSTEM.INI. PROGMAN.MAS Example PROGMAN.INI update file. WIN.MAS Example WIN.INI update file. INIUPD.CLF Example Command Line File Introduction ------------ INIUPDate is a utility designed for Network Administrators who manage Windows on a Local Area Network (LAN). Specifically, INIUPDate provides the following benefits: * Easily add new applications to the LAN * Prevent users from making modifications to INI files * Provide better support to your end users INIUPDate is a DOS program that modifies an INI file by comparing the Keys and Values in the INI file to a Master INI file. Terminology ----------- Example Part of an INI File ----> [Desktop] ----> Wallpaper=marble.bmp Term Example ---- ------- Section [Desktop] Key Wallpaper Value marble.bmp INIUPDate - A Network INI File Update Utility, Page 4 Command Line Switches --------------------- INIUPD /I- /M- /K- /R- /D- The /I, /M, and /K switches are required, though they may be in any order. Also, the /K switch may only be an S or a D. The /R and /D switches are optional. /I- ------------ This tells INIUPDate the file you want to modify. It can be WIN.INI or any other application INI file. There is no default file name or extension; you must explicitly enter the full path, filename, and extension of the INI file you want to modify. INIUPDate will strip the extension and use the path and filename to create a temporary file (.$$$) and a backup of the file (.!). The user running the INIUPD.EXE program must have Read, Write, Create, and Erase rights to the directory where is located. Example Command Lines: /I-C:\WINDOWS\WIN.INI /I-J:\WINDOWS\EMAIL.INI Since you are specifying the on the command line, you can use environment variables in the . For example: /I-F:\USERS\%USER%\WIN.INI INIUPDate - A Network INI File Update Utility, Page 5 /M- --------------- This tells INIUPDate the file with the changes you want made to . Again, the full path, filename and extension are required. The is simply an INI File with Values you want applied to . If the Section, Key and Value in the are not in the , they will be added. If the Section and Key are found in the , the Value will be updated to match the Value in the . The is not limited in the number of sections. You may have as many sections as you want in the . Example: WIN.MAS [Desktop] IconSpacing=65 IconTitleFaceName=Arial [Extensions] wri=write.exe ^.wri hlp=winhelp.exe ^.hlp Example Command Lines: /M-F:\WINCFG\WIN.MAS /M-F:\WINCFG\PROGMAN.MAS Notes: does not have to have the MAS extension. You can name the file anything you like. Users should only have Read and File Scan rights to the directory where the is located. This prevents them from changing the . INIUPDate - A Network INI File Update Utility, Page 6 /K- ----------- This is probably the most important option because it will cause incorrect updates if not used properly. There are two types of Keys in an INI file. Singular Keys are Keys that may appear only once in a Section. Almost all keys in all INI Files are Singular. Duplicate Keys are Keys that appear more than once in a section. The two most common (and only ones I know of currently) are the "Device=" and "Local=" Keys in the "[386Enh]" Section of SYSTEM.INI. INIUPDate must know what type of Key the has. If you tell INIUPDate that the contains singular Keys, and you update the SYSTEM.INI, all "Device=" lines in the SYSTEM.INI will have a Value equal to the last "Device=" statement in the . My suggestion to you is to not use this utility on the SYSTEM.INI until you fully understand how it works. If you use this utility to update SYSTEM.INI, create two , SYSTEM-S.MAS and SYSTEM-D.MAS. Put all Sections, Keys and Values that are singular into SYSTEM- S.MAS. Put all Sections, Keys and Values that are duplicate (Device= and Local=) into SYSTEM-D.MAS. See SYSTEM-S.MAS and SYSTEM-D.MAS example files that are included. /R- ------------ INIUPDate creates an extensive report as it runs. If you do not tell INIUPDate to send the report to a file, it will be sent to the screen. You must specify the full path and filename for the report file. Examples: /R-J:\WINDOWS\WIN.RPT /R-F:\USERS\%USER%\WINDOWS\WIN.RPT INIUPDate - A Network INI File Update Utility, Page 7 /D- --------- This option only works if you redirect output to a file with the /R switch. The only valid value is ON (/R-ON), otherwise it is considered to be OFF. When ON is specified and the /R switch is used, INIUPDate will display progress on the screen. It shows the section it is currently updating and which Key it is working on. This is helpful if you have a large and you want to be sure the program is still running. /C- (New to version 1.10) ---------------------------------- This option allows you to put your options in a file so multiple INI files can be processed by loading the program only once. Environment variables may be used in the command line file. See the INIUPD.CLF file for an example. Example Command Lines --------------------- 1. INIUPD /I-J:\WINDOWS\WIN.INI /M-F:\WINCFG\WIN.MAS /K-S This example updates the user WIN.INI file using F:\WINCFG\WIN.MAS, which has singular keys. The report output is sent to the screen. 2. INIUPD /I-F:\USER\%USER%\PROGMAN.INI /M-F:\WINCFG\PROGMAN.MAS /K-S /R-F:\USER\%USER%\PROGMAN.RPT /D-ON This example updates the user PROGMAN.INI with F:\WINCFG\PROGMAN.MAS, which uses singular keys. The report output is sent to F:\USER\%USER%\PROGMAN.RPT and progress of INIUPDate is displayed on the screen. 3. INIUPD /I-J:\SYSTEM.INI /M-F:\WINCFG\SYSTEM-D.MAS /K-D /R-J:\SYSTEM.RPT This example updates SYSTEM.INI using the Master File F:\WINCFG\SYSTEM-D.MAS, which has duplicate keys. Report output is sent to J:\SYSTEM.RPT, but INIUPDate progress is not displayed on the screen. INIUPDate - A Network INI File Update Utility, Page 8 When to Run INIUPDate --------------------- INIUPDate needs to be run before Windows is launched so the changes it makes to INI files will be in effect when Windows loads. There are several ways to do this and you can use whichever is best for you. Run INIUPDate from a Netware Login script, for example: IF MEMBER OF "INIUPDATE" THEN BEGIN #INIUPD.EXE /I-WIN.INI................ #INIUPD.EXE /I-PROGMAN.INI ........... ENDIF Run INIUPDate from a batch file before loading Windows, for example: ECHO OFF CLS J: CD \WINDOWS INIUPD.EXE /I-WIN.INI ................ INIUPD.EXE /I-SYSTEM.INI ............. WIN.COM Note: Instead of running INIUPD twice, you can create a command line file and run INIUPD with the /C option. Usage 1: New Application Setup ------------------------------- There are several ways to set up Windows applications on a LAN. Basically, you install the program in a directory, add an icon for the users to access it, and add or modify one or more INI files. The following is a simple example of how to install a program called EDITOR. Step 1 - Install the Application I install all my Windows applications in the directory F:\WINAPPS. For this application, I installed it in the directory F:\WINAPPS\EDITOR. I then granted users rights to the directory so they could execute EDITOR.EXE. INIUPDate - A Network INI File Update Utility, Page 9 Step 2 - Add an Icon for users to run the application I have a generic Windows group file called LAN Applications. This file is F:\WINCFG\LANAPPS.GRP. Every time the user logs in to the network, this file is copied to their personal Windows directory (J:\WINDOWS). This way, when I update F:\WINCFG\LANAPPS.GRP, all users will get the update. In this case, I added the icon for EDITOR to the group. When doing this, you need to be sure the PROGMAN.INI file for your users has the line Group#=J:\WINDOWS\LANAPPS.GRP. Step 3, Modify all WIN.INI files The EDITOR program adds the following line to the WIN.INI file in the [Extensions] section edt=f:\winapps\editor\editor.exe ^.edt You definitely DO NOT want to edit every WIN.INI file to add this line. INIUPDate was designed to do this for you. All you have to do is create a with the desired lines you want added to each user WIN.INI file. The is an ASCII file; you can use any editor to create it. The format of the is the same as for a normal INI file. The in this case looks like this: [Extensions] edt=f:\winapps\editor\editor.exe ^.edt Once created, I save the file as F:\WINCFG\WIN.MAS. All modifications I want to make to WIN.INI, I put in the file WIN.MAS. Master files are not limited to a particular application. INIUPDate - A Network INI File Update Utility, Page 10 I choose to update user INI files each time the log in. I use a batch file called WINUPD.BAT which is run after the system login script exits. The line in the Netware login script to do this is: EXIT "WINUPD.BAT" The WINUPD.BAT file looks like this ECHO OFF CLS J: CD \WINDOWS INIUPD /I-WIN.INI /M-F:\WINCFG\WIN.MAS /K-S /R-WIN.RPT /D-ON WIN LOGOUT This looks at the user J:\WINDOWS\WIN.INI file and compares it to the F:\WINCFG\WIN.MAS file. All lines in F:\WINCFG\WIN.MAS not in J:\WINDOWS\WIN.INI are added to J:\WINDOWS\WIN.INI in the appropriate Section. If the line is already in the J:\WINDOWS\WIN.INI file, INIUPDate updates the line to match the line in F:\WINCFG\WIN.MAS. In this example, the following line is added to every user's [Extensions] Section of their WIN.INI file when they log in: edt=f:\winapps\editor\editor.exe ^.edt INIUPDate - A Network INI File Update Utility, Page 11 Usage 2: Preventing Users From Changing INI File Values -------------------------------------------------------- If you ever want to prevent a user from making a change to the INI file, just set up the value you desire in a . When the user logs in and INIUPDate is run, the user INI file will be changed. In some cases, this does not prevent a user from making the change, but it does only allow the change to be active for the current session when a change is made. Most users will probably not want to keep making a change every day and they will probably cease making current session changes. Example: Suppose you want to put restrictions in PROGMAN.INI so that the File, Run option is not available. To do this, you would add a [Restrictions] Section to progman.ini. The Key would be NoRun and the Value would be 1. It would look like this: [Restrictions] NoRun=1 Again, modifying every progman.ini file would be quite time consuming. Instead, I created the F:\WINCFG\PROGMAN.MAS. In it, I included the two lines shown above. When the user logs in to the server, the following line is run: INIUPD /I-J:\WINDOWS\PROGMAN.INI /M-F:\WINCFG\PROGMAN.MAS /K-S /R-J:\WINDOWS\PROGMAN.RPT /D-ON Even if the user modifies PROGMAN.INI with an editor, the next time they log in it will be put back to the way it is in PROGMAN.MAS. I log the user out when they exit Windows, so they must log back in to re-load it. In logging back in, INIUPDate is run again. INIUPDate - A Network INI File Update Utility, Page 12 Usage 3: Providing User Support -------------------------------- INIUPDate allows you to make changes to user INI files that help the user out. Sometimes the user does not know how to make the changes or there is no way for the user to make the changes. Example: Suppose you want to change the default screen font. The default is small and hard to read. I have found that using Arial, Bold, 8pt is a lot better looking. There is no way for the user to change this, so it must be added to the WIN.INI file manually. The following lines change the screen font: [Desktop] IconTitleFaceName=Arial IconTitleStyle=1 IconTitleSize=8 Suppose you also want to change where users must click on icons to make the area bigger. You can do that by adding the following lines: [Desktop] DoubleClickWidth=4 DoubleClickHeight=4 Finally, you want to let users print to a file rather than a port. You do this by using the following lines: [Ports] FILE:=J:\WINDOWS\PRINT.FIL where J:\WINDOWS\PRINT.FIL is the name of the file you want users to print to. INIUPDate - A Network INI File Update Utility, Page 13 To accomplish these changes, make a . I use the same master file I use to add new applications. It is F:\WINCFG\WIN.MAS and looks like the following: [Extensions] edt=f:\winapps\editor\editor.exe ^.edt [Desktop] IconTitleFaceName=Arial IconTitleStyle=1 IconTitleSize=8 DoubleClickWidth=4 DoubleClickHeight=4 [Ports] FILE:=J:\WINDOWS\PRINT.FIL INIUPDate - A Network INI File Update Utility, Page 14 History ------- Version Description ------- ----------- 1.10 (02/94) Add support for processing multiple INI files while loading INIUPD only once. Fix a problem that caused "Error 5". 1.02 (01/94) Add support for "duplicate keys" (/K-D Switch). 1.01 (04/93) Process multiple Sections in INI file. 1.0 (02/93) Original Version. Only processed one Section in WIN.INI file. Coming Attractions ------------------ 1. Ability to add Keys to a section only if the Key does not already exist. INIUPDate - A Network INI File Update Utility, Page 15 Copyright --------- INIUPDate is (c) Copyright Abrams Technologies, 1993-1994. Other programs mentioned are copyright/trademark/property of their respective companies. Warranty -------- Abrams Technologies make no warranties, either expressed or implied, pertaining to the functionality, suitability, and usage of this product. It is supplied after extensive testing and usage on LANs with various servers and end-users. It is intended as a utility to enhance LAN administration and decrease the amount of time involved in maintaining INI files on the LAN. Shareware --------- INIUPDate is a Shareware software program. Shareware is a great concept, but it only works if YOU, the user, register Shareware programs you are using. Shareware (also known as user supported software and other names) is a concept not readily understood by everyone. The authors of Shareware retain all rights to the software under existing copyright laws while still allowing free distribution. This gives the user (YOU) the opportunity to obtain and try out software (without advance purchase) to see if it fulfills your personal or business needs. Shareware should not be confused with Public Domain software even though they are often obtained from the same source(s). If you continue to use INIUPDate after trying it out for 30 days, you are expected to register your copy. In exchange you get the latest version and technical support. INIUPDate - A Network INI File Update Utility, Page 16 Distribution ------------ You are free to distribute this program provided: (1) No fee is charged, other than normal costs for media and distribution. (2) All files are included: INIUPD.DOC Documentation and registration form. INIUPD.EXE INIUPDate program file. SYSTEM-D.MAS Example Duplicate Key file for SYSTEM.INI. SYSTEM-S.MAS Example Singular Key file for SYSTEM.INI. PROGMAN.MAS Example PROGMAN.INI update file. WIN.MAS Example WIN.INI update file. INIUPD.CLF Example Command Line File INIUPDate Registration Form Make check or money order payable to ABRAMS TECHNOLOGIES. Remit to: ABRAMS TECHNOLOGIES 536 North Donar Drive Columbia, SC 29223 Phone: (803) 865-0405, CIS: 73632,746 Your Name:______________________________________________________ Company Name:___________________________________________________ Address: ______________________________________________________ ______________________________________________________ ______________________________________________________ Server Operating System/Ver: ________________________________ Your CompuServe Account Number: ________________________________ INIUpdate Version Number: __________________________________ Where did you obtain INIUPD?: __________________________________ PCs or Price per Servers Machine Discount ------- -------- -------- 1 - 5 $30.00 0 % 6 - 10 $24.00 20 % 11+ $18.00 40 % Site License $200.00 Qty x Price = Subtot + 5% Sales Tax = Total ___ x _____ = ______ + ____________ = __________ Note 1: Residents of countries outside the U.S.A. and Canada should remit 10% of Subtotal (quantity x price ea.) to cover shipping and handling cost. Note 2: All prices are in US Dollars. Comments and suggestions for future releases: ______________________________________________________________ _______________________________________________________________ _______________________________________________________________